包名 结绳.安卓

@导入Java("android.text.SpannableStringBuilder")
@指代类("android.text.SpannableStringBuilder")
类 可扩展文本构建器:字符串

	//字符串 包括 文本(String)
	@运算符重载
	方法 =(初始字符串 : 字符串)
		code return new SpannableStringBuilder(#初始字符串);
	结束 方法

	@运算符重载
	方法 +(追加对象 : 对象) : 可扩展文本构建器
		返回 追加对象(追加对象)
	结束 方法

	@运算符重载
	方法 ==(另一个构建器 : 可扩展文本构建器) : 逻辑型
		@code
        if (#this == null) {
            return #另一个构建器 == null;
        }
        return #this.equals(#另一个构建器);
        @end
	结束 方法

	@运算符重载
	方法 [](索引 : 整数) : 字符
		返回 取字符(索引)
	结束 方法

	方法 追加字符串(追加内容 : 字符串) : 可扩展文本构建器
		code return #this.append(#追加内容);
	结束 方法

	方法 追加文本(追加内容 : 文本) : 可扩展文本构建器
		code return #this.append(#追加内容);
	结束 方法

	方法 追加逻辑值(追加内容 : 逻辑型) : 可扩展文本构建器
		code return #this.append(String.valueOf(#追加内容));
	结束 方法

	方法 追加字符(追加内容 : 字符) : 可扩展文本构建器
		code return #this.append(#追加内容);
	结束 方法

	方法 追加整数(追加内容 : 整数) : 可扩展文本构建器
		code return #this.append(String.valueOf(#追加内容));
	结束 方法

	方法 追加长整数(追加内容 : 长整数) : 可扩展文本构建器
		code return #this.append(String.valueOf(#追加内容));
	结束 方法

	方法 追加小数(追加内容 : 小数) : 可扩展文本构建器
		code return #this.append(String.valueOf(#追加内容));
	结束 方法
	方法 追加单精度小数(追加内容 : 单精度小数) : 可扩展文本构建器
		code return #this.append(String.valueOf(#追加内容));
	结束 方法

	方法 追加对象(追加内容 : 对象) : 可扩展文本构建器
		code return #this.append(String.valueOf(#追加内容));
	结束 方法

	方法 删除(起始位置 : 整数, 结束位置 : 整数) : 可扩展文本构建器
		code return #this.delete(#起始位置,#结束位置);
	结束 方法

	方法 替换(被替换起始位置 : 整数, 被替换结束位置 : 整数, 替换内容 : 文本) : 可扩展文本构建器
		code return #this.replace(#被替换起始位置,#被替换结束位置,#替换内容);
	结束 方法

	方法 插入字符串(插入索引位置 : 整数, 插入内容 : 字符串) : 可扩展文本构建器
		code return #this.insert(#插入索引位置,#插入内容);
	结束 方法

	方法 插入文本(插入索引位置 : 整数, 插入内容 : 文本) : 可扩展文本构建器
		code return #this.insert(#插入索引位置,#插入内容);
	结束 方法

	方法 插入逻辑值(插入索引位置 : 整数, 插入内容 : 逻辑型) : 可扩展文本构建器
		code return #this.insert(#插入索引位置,String.valueOf(#插入内容));
	结束 方法

	方法 插入字符(插入索引位置 : 整数, 插入内容 : 字符) : 可扩展文本构建器
		code return #this.insert(#插入索引位置,String.valueOf(#插入内容));
	结束 方法

	方法 插入整数(插入索引位置 : 整数, 插入内容 : 整数) : 可扩展文本构建器
		code return #this.insert(#插入索引位置,String.valueOf(#插入内容));
	结束 方法

	方法 插入长整数(插入索引位置 : 整数, 插入内容 : 长整数) : 可扩展文本构建器
		code return #this.insert(#插入索引位置,String.valueOf(#插入内容));
	结束 方法

	方法 插入小数(插入索引位置 : 整数, 插入内容 : 小数) : 可扩展文本构建器
		code return #this.insert(#插入索引位置,String.valueOf(#插入内容));
	结束 方法

	方法 插入单精度小数(插入索引位置 : 整数, 插入内容 : 单精度小数) : 可扩展文本构建器
		code return #this.insert(#插入索引位置,String.valueOf(#插入内容));
	结束 方法

	方法 插入对象(插入索引位置 : 整数, 插入内容 : 对象) : 可扩展文本构建器
		code return #this.insert(#插入索引位置,String.valueOf(#插入内容));
	结束 方法

	方法 清空()
		code #this.clear();
	结束 方法

	方法 设置到文本框(文本框组件 : 文本框)
		code #文本框组件.getView().setText(#this);
	结束 方法

结束 类

@导入Java("android.text.SpannableString")
@指代类("android.text.SpannableString")
@全局类
类 可扩展文本 : 字符串

	@静态
	常量 包括开始和结束 : 整数 = 1
	//表示标记的范围从start到end-1，包括start，但不包括end.
	@静态
	常量 包括开始 : 整数 = 2
	//表示标记的范围从start+1到end，不包括start，但包括end。
	@静态
	常量 包括结束 : 整数 = 4
	//表示标记的范围从start+1到end-1，不包括start和end.
	@静态
	常量 不包括开始和结束 : 整数 = 8

	方法 设置扩展(样式 : 对象, 开始位置 : 整数, 结束位置 : 整数, 扩展类型 : 整数 = 包括开始和结束)
		code #this.setSpan(#样式, #开始位置, #结束位置, #扩展类型);
	结束 方法

	@运算符重载
	方法 =(内容 : 字符串)
		code return new android.text.SpannableString(#内容);
	结束 方法

	方法 设置到文本框(文本框组件 : 文本框)
		code #文本框组件.getView().setText(#this);
	结束 方法

结束 类

@指代类("android.text.style.BackgroundColorSpan")
类 样式_背景色
	
	@运算符重载
	方法 =(颜色值 : 整数)
		code return new android.text.style.BackgroundColorSpan(#颜色值);
	结束 方法

	@静态
	方法 取实例(颜色值 : 整数) : 样式_背景色
		code return new android.text.style.BackgroundColorSpan(#颜色值);
	结束 方法

结束 类

@指代类("android.text.style.ForegroundColorSpan")
类 样式_前景色
	//前景色可以简单理解为 文本的部分字体颜色 可以理解为文本高亮
	@运算符重载
	方法 =(颜色值 : 整数)
		code return new android.text.style.ForegroundColorSpan(#颜色值);
	结束 方法

	@静态
	方法 取实例(颜色值 : 整数) : 样式_前景色
		code return new android.text.style.ForegroundColorSpan(#颜色值);
	结束 方法

结束 类

@指代类("android.text.style.StrikethroughSpan")
类 样式_删除线

	@静态
	方法 取实例() : 样式_删除线
		code return new android.text.style.StrikethroughSpan();
	结束 方法
结束 类

@指代类("android.text.style.SuperscriptSpan")
类 样式_上标

	@静态
	方法 取实例() : 样式_上标
		code return new android.text.style.SuperscriptSpan();
	结束 方法

结束 类

@指代类("android.text.style.SubscriptSpan")
类 样式_下标

	@静态
	方法 取实例() : 样式_下标
		code return new android.text.style.SubscriptSpan();
	结束 方法

结束 类

@指代类("android.text.style.UnderlineSpan")
类 样式_下划线

	@静态
	方法 取实例() : 样式_下划线
		code return new android.text.style.UnderlineSpan();
	结束 方法

结束 类

@指代类("android.text.style.StyleSpan")
类 样式_字体样式

	@静态
	常量 样式类型_默认 : 整数 = 0
	@静态
	常量 样式类型_粗体 : 整数 = 1
	@静态
	常量 样式类型_斜体 : 整数 = 2
	@静态
	常量 样式类型_粗斜体 : 整数 = 3

	@运算符重载
	方法 =(样式 : 整数 = 样式类型_默认)
		code return new android.text.style.StyleSpan(#样式);
	结束 方法

	@静态
	方法 取实例(样式 : 整数 = 样式类型_默认) : 样式_字体样式
		code return new android.text.style.StyleSpan(#样式);
	结束 方法

结束 类

@指代类("android.text.style.AbsoluteSizeSpan")
类 样式_字体大小
	
	@运算符重载
	方法 =(字体大小 : 整数)
		code return new android.text.style.AbsoluteSizeSpan(#字体大小);
	结束 方法
	
	//字体大小单位sp
	@静态
	方法 取实例(环境:安卓环境,字体大小 : 整数) : 样式_字体大小
		@code
        if (#字体大小 <= 0) {
            return #字体大小;
        }
        float scale = #环境.getResources().getDisplayMetrics().scaledDensity;
        int size = (int) (#字体大小 * scale + 0.5f);
		return new android.text.style.AbsoluteSizeSpan(size);
		@end
	结束 方法
	
结束 类

@后缀代码("extends android.text.style.ClickableSpan")
类 样式附加_单击效果

	@code
	private boolean underline;
	@Override
	public void onClick(android.view.View view) {
		#被单击();
	}
	
	@Override
	public void updateDrawState(android.text.TextPaint paint) {
  	  paint.setUnderlineText(underline); // 设置下划线
	}
	@end

	属性读 显示下划线() : 逻辑型
		code return this.underline;
	结束 属性

	属性写 显示下划线(显示 : 逻辑型)
		code this.underline = #显示;
	结束 属性

	定义事件 被单击()

	方法 设置单击效果(文本框 : 文本框)
		@code
        #文本框.getView().setMovementMethod(android.text.method.LinkMovementMethod.getInstance());
		@end
	结束 方法

结束 类